<?php
// +----------------------------------------------------------------------
// | 零云 [ 简单 高效 卓越 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016 http://www.lingyun.net All rights reserved.
// +----------------------------------------------------------------------
// | Author: jry <598821125@qq.com>
// +----------------------------------------------------------------------
namespace Admin\Controller;

use Think\Page;

/**
 * 文章控制器
 * @author jry <598821125@qq.com>
 */
class PreviousController extends AdminController
{
    /**
     * 默认方法
     * @author jry <598821125@qq.com>
     */
    
    
    public function index()
    {
        $iid = I('iid', '', 'int');
        $map['iid'] = $iid;
        $post_object   = D('Admin/Previous');
        $p             = !empty($_GET["p"]) ? $_GET['p'] : 1;
        $data_list     = $post_object
            ->page($p, C('ADMIN_PAGE_ROWS'))
            ->where($map)
            ->order('id desc')
            ->select();
        $page = new Page(
            $post_object->where($map)->count(),
            C('ADMIN_PAGE_ROWS')
        );

        $builder = new \Common\Builder\ListBuilder();
        
            $builder->addTopButton('self', array( // 添加返回按钮
                'title'   => '<i class="fa fa-reply"></i> 返回邀请函列表',
                'class'   => 'btn btn-warning',
                'href' => U('Admin/Invitation/index'))
            )->addTopButton('addnew', array('href' => U('add',array('iid'=>$iid)))) // 添加新增按钮
            ->addRightButton('edit') // 添加编辑按钮
            ->addRightButton('forbid');
        $builder->setMetaTitle('往期活动列表') // 设置页面标题
            //->addTableColumn('id', 'ID')
            //->addTableColumn('postname', '活动名')
            ->addTableColumn('img', '图片','picture')
            //->addTableColumn('brand_name', '品牌名')
            ->addTableColumn('url', '链接')
            ->addTableColumn('create_time', '创建时间', 'time')
            ->addTableColumn('update_time', '更新时间', 'time')
            ->addTableColumn('status', '状态', 'status')
            ->addTableColumn('right_button', '操作', 'btn')
            ->setTableDataList($data_list) // 数据列表
            ->setTableDataPage($page->show())// 数据列表分页
            ->display();
    }

    /**
     * 新增文档
     * @author jry <598821125@qq.com>
     */
    public function add($iid)
    {
        
        if (IS_POST) {
            $post_object = D('Admin/Previous');
            $data        = $post_object->create(format_data());
            if ($data) {
                $id = $post_object->add();
                if ($id) {
                    $this->success('新增成功', U('index', array('iid' => $iid)));
                } else {
                    $this->error('新增失败');
                }
            } else {
                $this->error($post_object->getError());
            }
        } else {
            $form_data['iid'] = $iid;
            // 使用FormBuilder快速建立表单页面。
            $builder = new \Common\Builder\FormBuilder();
            $builder->setMetaTitle('新增往期') // 设置页面标题
                ->setPostUrl(U('add')) // 设置表单提交地址
                ->addFormItem('iid', 'hidden', '分类', '分类')
                ->addFormItem('img', 'picture', '图片', '图片')
                ->addFormItem('url', 'text', '链接', '链接')
                ->addFormItem('sort', 'num', '排序', '用于显示的顺序')
                ->setFormData($form_data)
                ->display();
        }
    }

    /**
     * 编辑文章
     * @author jry <598821125@qq.com>
     */
    public function edit($id)
    {
        if (IS_POST) {
            $post_object = D('Admin/Previous');
            $data        = $post_object->create(format_data());
            if ($data) {
                $id = $post_object->save();
                if ($id !== false) {
                    $this->success('更新成功', U('index', array('iid' => $data["iid"])));
                } else {
                    $this->error('更新失败');
                }
            } else {
                $this->error($post_object->getError());
            }
        } else {
            $data = D('Admin/Previous')->find($id);
            // 使用FormBuilder快速建立表单页面。
            $builder = new \Common\Builder\FormBuilder();
            $builder->setMetaTitle('编辑往期案例') // 设置页面标题
                ->setPostUrl(U('edit')) // 设置表单提交地址
                ->addFormItem('id', 'hidden', 'ID', 'ID')
                ->addFormItem('iid', 'hidden', '分类', '分类')
                ->addFormItem('img', 'picture', '图片', '图片')
                ->addFormItem('url', 'text', '链接', '链接')
                ->addFormItem('sort', 'num', '排序', '用于显示的顺序')
                ->setFormData($data)
                ->display();
        }
    }

    // 将树形列表转换为树
    public function list_as_tree($list, $extra = null, $key = 'id', $title_field = 'title')
    {
        //转换成树状列表(非严格模式)
        $tree = new \Util\Tree();
        $list = $tree->array2tree($list, $title_field, 'id', 'pid', 0, false);

        if ($extra) {
            $result[0] = $extra;
        }

        //转换成一维数组
        foreach ($list as $val) {
            $result[$val[$key]] = $val['title_show'];
        }
        return $result;
    }

    /**
     * 设置一条或者多条数据的状态
     * @author jry <598821125@qq.com>
     */
    public function setStatus($model = CONTROLLER_NAME, $script = false)
    {
        $ids = I('request.ids');
        parent::setStatus($model);
    }
}
